約 283,536 件
https://w.atwiki.jp/gamemusicbest100/pages/3892.html
戦闘マップ5 最終MAP BGM(プレイヤー側) 収録作品:ファイアーエムブレム外伝[FC] 作曲者:辻横由佳 概要 そのまま曲名の示す通り、本作の最終戦闘マップであるドーマの祭壇での味方フェイズで流れるBGM。 この戦闘マップのみ使用される専用曲であるが、各マップの戦闘開始前の会話シーンでも使われている。 最終決戦のBGMに相応しく、重い音使いながらも苦難に負けず進んでいくような勇壮感溢れる曲である。 またこの曲が使用されるマップのシチェーションもなかなかにドラマチック。 このゲームは男女2人の主人公を操作しながら進んでいくのが特徴で、男主人公アルムのパーティと女主人公セリカのパーティが、ついに合流するのがこのマップなのである。 ケンカ別れするような形で離れてしまった2人だが、セリカの身に無数のビグルというモンスターの触手が絡み付いて動けない危機が訪れる。 そこで登場したのがアルム一行。「こんなやつら ぼくがひねりつぶしてやる」というセリフと共に反撃開始を迎えるのである。 リメイク作『ファイアーエムブレム Echoes もうひとりの英雄王』にもアレンジされて登場。 こちらでは「神よ、その黄昏よ」としっかりした曲名が与えられている。 戦いの前口上でアルムとセリカは、ドーマの狂信者と化したジュダに対して彼やドーマの考え方を否定しているが、戦闘に突入してからはアルム軍・セリカ軍両方の仲間達がそれぞれの思いを口にし、戦いに臨んでいく。 狂神と化したドーマに対して、狂信者と化したジュダに対しての言葉だけでなく、愛する人と生きていく決意、自ら歴史のための捨て石となったルドルフの事を思う言葉、アカネイアで見た竜族の悲劇と重ね合わせる言葉など、それぞれの思いの籠った言葉が印象に残る。 アレンジは金崎猛氏が担当した。 過去ランキング順位 ファイアーエムブレム外伝「戦闘マップ5 最終MAP BGM(プレイヤー側)」 第5回みんなで決めるゲーム音楽ベスト100 782位 第1回ファミコン名曲ベスト100 25位 みんなで決めるマイナーゲーム曲ランキング 2位 みんなで決める1990年代の名曲ランキング 30位 ファイアーエムブレム Echoes もうひとりの英雄王「神よ、その黄昏よ」 第11回みんなで決めるゲーム音楽ベスト100 25位 第12回みんなで決めるゲーム音楽ベスト100 72位 第13回みんなで決めるゲーム音楽ベスト100 92位 第14回みんなで決めるゲーム音楽ベスト100 98位 第15回みんなで決めるゲーム音楽ベスト100 132位 第16回みんなで決めるゲーム音楽ベスト100 84位 みんなで決める2017年の新曲ランキング 28位 第3回みんなで決めるゲームソングBEST100 261位 第2回みんなで決めるラストバトルBGMベスト100 51位 みんなで決めるアレンジBGMランキング 29位 第3回みんなで決める任天堂ゲーム音楽ベスト100 261位 サウンドトラック ファイアーエムブレム~ザ・ベスト 1 ファイアーエムブレム Ecoes もうひとりの英雄王 オリジナル・サウンドトラック
https://w.atwiki.jp/hoppocoandengine/pages/31.html
目次 目次 概要 BGMの追加音声ファイルの用意 EngineOptionの設定 音声ファイルの読み込み 再生、停止、BGMの切り替え再生 一時停止 停止注意点 BGMの切り替え ホームボタンや画面オフの時にBGMを止めて復帰時に再生する 音量の設定 概要 AndengineでのアプリにBGMを追加します。 BGMの追加 以下の手順で行います。 音声ファイルの用意 フォーマットはoggが良いそうです。 自作するか、素材サイトを探すなどして手に入れて下さい。 素材サイトのものを利用する場合は利用規約を守りましょう。 動画サイトから抜き出しとかはもってのほかです。 で、そのファイルをプロジェクトのassets/mfxフォルダにコピーします。 EngineOptionの設定 Andengineの〇〇GameActivityを継承したアクティビティを作っていると思います。 そのアクティビティのonCreateEngineOptionsで EngineOptions.getAudioOptions().setNeedsMusic(true)の一文を追加して下さい。 該当箇所はこんな感じ。 @Override public EngineOptions onCreateEngineOptions() { camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.PORTRAIT_FIXED, new FillResolutionPolicy(), camera); //音楽を利用する場合 engineOptions.getAudioOptions().setNeedsMusic(true); return engineOptions; } 音声ファイルの読み込み アクティビティのonCreateResources内で音声ファイルを読み込みます。該当箇所はこんな感じ。 //フィールド private Music mMusic; //略 @Override public void onCreateResources() { BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); //画像の読み込み //(略) //音声の読み込み MusicFactory.setAssetBasePath("mfx/"); try { this.mMusic = MusicFactory.createMusicFromAsset(this.mEngine.getMusicManager(), this, "bgm.ogg"); //ループ再生を有効にする this.mMusic.setLooping(true); } catch (final IOException e) { Debug.e(e); } } Andengine公式のMusicExampleとほぼ同じですね。 MusicFactoryで作成したMusicオブジェクトに対してsetLooping(boolean)でループ再生するかどうか設定します。 再生、停止、BGMの切り替え 再生 MusicFactoryで作成したMusicオブジェクトに対してplay()をするとBGMが再生できます。 mMusic.play(); 一時停止 Musicオブジェクトに対してpause()をすると一時停止できます。 mMusic.pause(); 一時停止したMusicオブジェクトに対してresume()をすると一時停止したところから音声を再開できます。 mMusic.resume(); resume()でなくplay()でも同じ挙動のようです。なんでだろ? 停止 停止は一時停止pause()と再生位置を最初に戻すseekTo(int)の合わせ技で行います。 seekToの引数は開始位置からの経過時間(ミリ秒つまり1000分の1秒)です。 mMusic.pause(); mMusic.seekTo(0); 注意点 Musicクラスにstopという停止機能のメソッドがありますが、これを使うとその後そのMusicオブジェクトが再生できない問題があります。 どうも、Andengineの音声再生機能のベースになっているAndroidのMediaPlayerの仕様のようです。 MediaPlayer機能では、stop()を行った音声オブジェクトはその後prepare()というメソッドを行わないと次回再生できません。 なのにAndengine内ではそのprepare()を実行している部分が無いので、stopがうまく働かないようです。 参考リンク AndEngine MusicクラスでException BGMの切り替え 2つのMusicオブジェクトmusic1とmusic2があるとします。 music1の再生中にmusic2のplay()をすると音声が重なります。 なので、music1からmusic2に切り替えるときはmusic1を止めてからmusic2を再生する必要があります。 music1.pause(); music1.seekTo(0); music2.play(); ホームボタンや画面オフの時にBGMを止めて復帰時に再生する このままでは、BGMの再生中にホームボタンを押してホーム画面に戻ったり、電源ボタンで画面をオフにしてもBGMは鳴りっぱなしになります。 アプリが表示されている時だけ音声を再生するようにするには、通常はActivityのライフサイクルというものを考えて ホームボタン ホームボタン押してからの復帰 電源ボタンなどの省電力モード 電源ボタンを押した後のロック画面からの復帰 の時にActivityに何が起こるのかを理解した上で適切な処理を行う必要があります。それぞれ微妙に処理が異なるので通常は面倒です。 ですが、Andengineでは、それらをひとまとめにして「アプリが表示される」「アプリが表示されなくなる」の時に呼ばれるメソッドがあるのでここに、BGMの一時停止、再生の処理を追加すれば簡単です。 「アプリが表示される」ときにはAndengineのアクティビティのonResumeGame() 「アプリが表示されなくなる」ときにはAndengineのアクティビティのonPauseGame() が呼ばれるので、個々に処理を書きます。 該当箇所はこんな感じ @Override public synchronized void onPauseGame() { super.onPauseGame(); mMusic.pause(); } @Override public synchronized void onResumeGame() { super.onResumeGame(); mMusic.play(); } 複数のMusicオブジェクトがある場合はonResumeGame()で、再生されていたMusicオブジェクトを残しておくなどの工夫が必要です。 音量の設定 ゲーム内の設定でBGMのオンオフや音量の調整をしたい場合、AndengineのアクティビティのgetMusicManager().setMasterVolume(float) を行うことで、そのアプリ内のBGMの音量を設定できます。 setMasterVolumeの引数は0から1のfloat実数です。0で完全に消音、1で最大です。 1で最大と言っても、多分オリジナルの音量が1なので、普通に再生する場合は1にすれば良いと思います。 音量の設定を次回起動にも引き継ぎたい場合はSharedPreferenceなどで設定を永続化する必要があります。 合計: - 今日: - 昨日: -
https://w.atwiki.jp/kirby3ds/pages/102.html
勝手ながら編集させていただきました。何かあれば追記等お願いします。 - エナメル 2014-01-13 17 37 37 編集ありがとうございます! - 管理人 2014-01-13 19 11 45 132ですがシアター1つ出てませんが聞けるようです - 名無しさん 2014-01-16 18 51 58 ごめんなさい出現条件じゃなかったですね;; 後No128はシアターのクレジットという場所で流れます - 名無しさん 2014-01-16 18 53 59 ウルデラのはるかぜはHAL部屋ですよ。 - ウルデラ 2014-01-28 19 51 02 41は新曲じゃなくてカビコレの流用ですよ。 - 名無しさん 2014-02-09 14 38 18 クラブニンテンドー会員限定サントラに収録されていた曲の曲名を編集させていただきました。 - 名無しさん 2014-02-28 16 13 33
https://w.atwiki.jp/srcalfa/pages/61.html
このページはSRCプレイ時の版権作品用のBGMに関するリンクをまとめたものです。公開されている方は追加していただけると幸いです。もしリンクを張られて不都合を覚えた方は削除していただいても結構です。 以下のページに関しての注意とお願い 以下のリンクに対してダウンロードをされた際は一言BBSなどにお礼をお願いします。 追加する際はJASRACに許諾済みなど合法的なもののみにさせていただきます。 なお、下記のリンクから先に関しては当方はいっさいの責任を負わないものとさせていただきます。 BGMファイル名が赤文字の場合はGSCサウンドパックに、青文字の場合は敷島パックに収録されています。 巨大作品一覧
https://w.atwiki.jp/oblivionfaq/pages/54.html
この項目には、まだ何も記載されていません。
https://w.atwiki.jp/akatonbowiki/pages/11349.html
このページはこちらに移転しました イメジ、回想、反省 作詞/444スレ43 尽きた夜 休みは無為 無みたいなもの 人生訓役立たず 拾われない人 寒そうだな 彼の非難 彼女の非難 駅にある白骨死体 絶望的空気 忘れられた人 互いに不必要な人達 間違えて買われた 捨てられる物 今まさに飛ぶ人 吐き気のする笑顔 誤解の連続 億劫な説明 生き延ばす愚者 黄ばんでる本 二度着た青 責めの想像 罪の反省 開き直り 生き延ばす愚者 互いに不必要な人達
https://w.atwiki.jp/kagero_tg/pages/162.html
戦闘ステージ森 戦闘ステージ岩場 戦闘ステージ都市 戦闘ステージ封印神殿 戦闘ステージ魔導施設 戦闘ステージフォージド兵 戦闘ステージ瀕死
https://w.atwiki.jp/airmoto/pages/57.html
パーン動画 ゲームBGM系 カービィ系はこちら。 東方系はこちら。 ドラクエとかFFとかスクエニ系はこちら。 beatmania系はこちら もじぴったん久本さん(ふたりのもじぴっパーン) 【原曲】ことばのパズル もじぴったん「ふたりのもじぴったん」 ひさもとのなく頃に 【原曲】ひぐらしのなく頃に「you」 エア本さんの入信記念日を迎えた今も削除されていない長寿パーン動画。 久本さんの頭がタルタルこうざんの音楽にあわせて爆発したようです 【原曲】スーパードンキーコング2「タルタルこうざん」 巫女みこ☆パーン 【原曲】巫女みこナース「巫女みこナース・愛のテーマ」 ふぃぎゅ@久本さん (静止画と動画、および最終版の3種類あり)/頭がぱ~んと久もっと【ふぃぎゅ@エア本】 【原曲】ふぃぎゅ@メイト「ガチャガチャきゅ~と・ふぃぎゅ@メイト」 夢工場ドキドキパーンニック 【原曲】夢工場ドキドキパニック 洗脳・搾取・頭がパーン 【原曲】 VAZIAL SAGA~愚民化戦略イメージソング「洗脳・搾取・虎の巻」 atmgP4 【原曲】ペルソナ4「Reach Out To The Truth -First Battle-」 アップロード者削除時に表示される動画のMAD ソウカハイリナサイ 【原曲】MOTHER2 ギーグの逆襲「イナクナリナサイ」 MACHAR2 オープニングデモ 【原曲】MOTHER2 ギーグの逆襲「オープニングデモ」 あたまテント 【原曲】MOTHER2 ギーグの逆襲「ばけテント」 Do-Dai【真(さ)美をプロデュースしてみた】 【原曲】アイドルマスターL4U!「Do-Dai」 久本的タルタル山脈 【原曲】ゼルダの伝説~夢をみる島「タルタル山脈」 だいさくらんぼキッス~頭が爆発だも~ん~ 【原曲】カラフルキッス ~12コの胸キュン!~「さくらんぼキッス ~爆発だも~ん~」 ヒサモンセンター 【原曲】 ポケットモンスター金銀「ポケモンセンター」 曲はともかく、ボールにも注目。 『週刊SOCALOIDランキング Parn3』で9位を獲得。(7/21~7/28) エアZERO パーンBlue 【原曲】F-ZERO「BIG BLUE」 柴田の可能性を見せたと話題になった作品。 マチャミの伝説より嵐の歌 【原曲】ゼルダの伝説 時のオカリナ「嵐の歌」 【マリオRPG】森のエア本にご用心 【原曲】スーパーマリオRPG「森のキノコにご用心」 【エアモット】入信・OR・DIE【メダロット4】 【原曲】メダロット4「DO・OR・DIE」
https://w.atwiki.jp/cc65/pages/25.html
雛形2を使用します。 短形波・三角波・ノイズの設定と再生を行います。 STARTを押しながらSELECTでタイトルに戻ります。 各項目で左右を押すと値が増減します。 SHUHASUはSELECT・A・Bいずれかのボタンを押しながら左右を押すと増分値が変わります。 SHUHASUには以下の内容を設定します。矩形波:1790000/ (周波数 * 32 - 1) ・・・「ラ」(440hz)を鳴らそうと思えば127になります 三角波:1790000/ (周波数 * 64 - 1) ・・・多分。 STARTを押すと音が鳴り、フラグの内容が16進数で表示されます。ゲームを開発する際にフラグとshuhasu、timeの値を指定すれば同じ音を鳴らすことができます。 #include kihon.h #include kanade.h #define DMA(char*)0x0700 typedef enum { menuTITLE = 0, menuSQUARE = 1, menuTRIANGLE = 2, menuNOISE = 3, } emenu; emenu menu; char init; void ClearScreen() { unsigned char i,first,pos[2]; first = 1; for (i = 0; i 64; i++) { SetDMA( DMA,first, 0, 240, 0, 0); first = 0; } for (i = 0; i 30; i++) { GetBackgroundAddress(0, 0, i, pos); VBlank(); FillBackground(*(pos + 0),*(pos + 1),0,32); SetScroll( 0, 0 ); } } void DrawString(char x, char y,char *str,char len) { char pos[2]; GetBackgroundAddress(0, x, y, pos); VBlank(); SetBackground(*(pos + 0), *(pos + 1), str, len); SetScroll( 0, 0 ); } void DrawHexdecimal(char x, char y,char val) { char ret1, ret2, str[1]; ret2 = val % 16; ret1 = (val - ret2) / 16; if (ret1 10) { str[0] = ret1 + 0x30; } else { str[0] = ret1 + 0x37; } DrawString(x , y, str, 1); if (ret2 10) { str[0] = ret2 + 0x30; } else { str[0] = ret2 + 0x37; } DrawString(x + 1, y, str, 1); } void DrawArrow(char y) { SetDMA( DMA,1, 30, (y * 2 + 3) * 8 - 1, 0x40, 0); } void DrawNumMax(char x, char y, char val, char max) { char wrk; wrk = val % 10; SetDMA( DMA,0, (x + 0) * 8, y * 8, (val - wrk) / 10 + 0x30, 0); SetDMA( DMA,0, (x + 1) * 8, y * 8, wrk + 0x30 , 0); SetDMA( DMA,0, (x + 2) * 8, y * 8, 0x5c , 0); wrk = max % 10; SetDMA( DMA,0, (x + 3) * 8, y * 8, (max - wrk) / 10 + 0x30, 0); SetDMA( DMA,0, (x + 4) * 8, y * 8, wrk + 0x30 , 0); } void DrawNumLen(char x, char y, char val, char max) { unsigned char wrk; signed char i; for (i=2; i =0; i--) { wrk = val % 10; SetDMA( DMA,0, (x + i) * 8, y * 8, 0x30 + wrk, 0); val /= 10; } SetDMA( DMA,0, (x + 3) * 8, y * 8, 0x5c , 0); for (i=2; i =0; i--) { wrk = max % 10; SetDMA( DMA,0, (x + i + 4) * 8, y * 8, 0x30 + wrk, 0); max /= 10; } } void DrawNumber(char x, char y, int val) { unsigned int wrk; signed char i; for (i=6; i =0; i--) { wrk = val % 10; SetDMA( DMA,0, (x + i) * 8, y * 8, 0x30 + wrk, 0); val /= 10; } } void Square() { char flag1,flag2; static char top ; static char duty ,counter,onkyo ,vol ; static char henka ,sokudo ,houhou,hani; static char time ; static unsigned int shuhasu; if (! init) { top = 0; duty = 0; counter = 0; onkyo = 0; vol = 0; henka = 0; sokudo = 0; houhou = 0; hani = 0; time = 0; shuhasu = 0; ClearScreen(); DrawString( 5, 3,"DUTY" , 4); DrawString( 5, 5,"COUNTER" , 7); DrawString( 5, 7,"ONKYO" , 5); DrawString( 5, 9,"VOLUME" , 6); DrawString( 5,11,"HENKA" , 5); DrawString( 5,13,"SOKUDO" , 6); DrawString( 5,15,"HOUHOU" , 6); DrawString( 5,17,"HANI" , 4); DrawString( 5,19,"SHUHASU" , 7); DrawString( 5,21,"TIME" , 4); DrawString( 7,26,"PUSH START" ,10); DrawString(17,26," TO PLAY" , 9); init = 1; } if ( ButtonDown(0, BTN_UP ) top 0) { top--; } if ( ButtonDown(0, BTN_DOWN) top 9) { top++; } DrawArrow(top); switch (top) { case 0 if ( ButtonDown(0, BTN_RIGHT ) duty 3 ) { duty++; } if ( ButtonDown(0, BTN_LEFT ) duty 0 ) { duty--; } break; case 1 if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { counter = 0; } break; case 2 if ( ButtonDown(0, BTN_RIGHT ) ) { onkyo = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { onkyo = 0; } break; case 3 if ( ButtonDown(0, BTN_RIGHT ) vol 15 ) { vol++; } if ( ButtonDown(0, BTN_LEFT ) vol 0 ) { vol--; } break; case 4 if ( ButtonDown(0, BTN_RIGHT ) ) { henka = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { henka = 0; } break; case 5 if ( ButtonDown(0, BTN_RIGHT ) sokudo 7 ) { sokudo++; } if ( ButtonDown(0, BTN_LEFT ) sokudo 0 ) { sokudo--; } break; case 6 if ( ButtonDown(0, BTN_RIGHT ) ) { houhou = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { houhou = 0; } break; case 7 if ( ButtonDown(0, BTN_RIGHT ) hani 7 ) { hani++; } if ( ButtonDown(0, BTN_LEFT ) hani 0 ) { hani--; } break; case 8 if ( ButtonDown(0, BTN_SELECT) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=1000; } else if ( ButtonDown(0, BTN_SELECT) ButtonDown(0, BTN_LEFT ) shuhasu = 1000 ) { shuhasu-=1000; } else if ( ButtonDown(0, BTN_B ) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=100; } else if ( ButtonDown(0, BTN_B ) ButtonDown(0, BTN_LEFT ) shuhasu = 100 ) { shuhasu-=100; } else if ( ButtonDown(0, BTN_A ) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=10; } else if ( ButtonDown(0, BTN_A ) ButtonDown(0, BTN_LEFT ) shuhasu = 10 ) { shuhasu-=10; } else if ( ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=1; } else if ( ButtonDown(0, BTN_LEFT ) shuhasu = 1 ) { shuhasu-=1; } break; case 9 if ( ButtonDown(0, BTN_RIGHT ) time 63 ) { time++; } if ( ButtonDown(0, BTN_LEFT ) time 0 ) { time--; } break; } if ( ButtonPush(0, BTN_START) ) { flag1 = duty 6; flag1 |= counter 5; flag1 |= onkyo 4; flag1 |= vol; flag2 = henka 7; flag2 |= sokudo 4; flag2 |= houhou 3; flag2 |= hani; SetChannel(0x00); SetSquare(0,flag1,flag2); SetChannel(0x01); PlaySquare(0,shuhasu,time); DrawHexdecimal(12, 23, flag1); DrawHexdecimal(18, 23, flag2 ); } DrawNumMax(19, 3, duty , 3); DrawNumMax(19, 5, counter, 1); DrawNumMax(19, 7, onkyo , 1); DrawNumMax(19, 9, vol ,15); DrawNumMax(19,11, henka , 1); DrawNumMax(19,13, sokudo , 7); DrawNumMax(19,15, houhou , 1); DrawNumMax(19,17, hani , 7); DrawNumber(19,19, shuhasu ); DrawNumMax(19,21, time ,63); VBlank(); SendDMA(7); } void Triangle() { static char top; static char counter; static char length ,time; static unsigned int shuhasu; char flag; if (! init) { top = 0; counter = 0; length = 0; time = 0; shuhasu = 0; ClearScreen(); DrawString( 5, 3,"COUNTER" , 7); DrawString( 5, 5,"LENGTH" , 6); DrawString( 5, 7,"TIME" , 4); DrawString( 5, 9,"SHUHASU" , 7); DrawString( 7,26,"PUSH START" ,10); DrawString(17,26," TO PLAY" , 9); init = 1; } if ( ButtonDown(0, BTN_UP ) top 0) { top--; } if ( ButtonDown(0, BTN_DOWN) top 3) { top++; } DrawArrow(top); switch (top) { case 0 if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { counter = 0; } break; case 1 if ( ButtonDown(0, BTN_RIGHT ) length 127 ) { length++; } if ( ButtonDown(0, BTN_LEFT ) length 0 ) { length--; } break; case 2 if ( ButtonDown(0, BTN_RIGHT ) time 31 ) { time++; } if ( ButtonDown(0, BTN_LEFT ) time 0 ) { time--; } break; case 3 if ( ButtonDown(0, BTN_SELECT) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=1000; } else if ( ButtonDown(0, BTN_SELECT) ButtonDown(0, BTN_LEFT ) shuhasu = 1000 ) { shuhasu-=1000; } else if ( ButtonDown(0, BTN_B ) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=100; } else if ( ButtonDown(0, BTN_B ) ButtonDown(0, BTN_LEFT ) shuhasu = 100 ) { shuhasu-=100; } else if ( ButtonDown(0, BTN_A ) ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=10; } else if ( ButtonDown(0, BTN_A ) ButtonDown(0, BTN_LEFT ) shuhasu = 10 ) { shuhasu-=10; } else if ( ButtonDown(0, BTN_RIGHT ) ) { shuhasu+=1; } else if ( ButtonDown(0, BTN_LEFT ) shuhasu = 1 ) { shuhasu-=1; } break; } if ( ButtonPush(0, BTN_START) ) { flag = counter 7; flag |= length; SetChannel(0x00); SetTriangle(flag); SetChannel(0x04); PlayTriangle(shuhasu,time); DrawHexdecimal(15, 23, flag ); } DrawNumMax(19, 3, counter, 1); DrawNumLen(19, 5, length,127); DrawNumMax(19, 7, time ,31); DrawNumber(19, 9, shuhasu ); VBlank(); SendDMA(7); } void Noise() { static char top; static char counter; static char onkyo, volume, ransu, rate, time; char flag; if (! init) { top = 0; counter = 0; onkyo = 0; volume = 0; ransu = 0; rate = 0; time = 0; ClearScreen(); DrawString( 5, 3,"COUNTER" , 7); DrawString( 5, 5,"ONKYO" , 5); DrawString( 5, 7,"VOLUME" , 6); DrawString( 5, 9,"RANSU" , 5); DrawString( 5,11,"RATE" , 4); DrawString( 5,13,"TIME" , 4); DrawString( 7,26,"PUSH START" ,10); DrawString(17,26," TO PLAY" , 9); init = 1; } if ( ButtonDown(0, BTN_UP ) top 0) { top--; } if ( ButtonDown(0, BTN_DOWN) top 5) { top++; } DrawArrow(top); switch (top) { case 0 if ( ButtonDown(0, BTN_RIGHT ) ) { counter = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { counter = 0; } break; case 1 if ( ButtonDown(0, BTN_RIGHT ) ) { onkyo = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { onkyo = 0; } break; case 2 if ( ButtonDown(0, BTN_RIGHT ) volume 15 ) { volume++; } if ( ButtonDown(0, BTN_LEFT ) volume 0 ) { volume--; } break; case 3 if ( ButtonDown(0, BTN_RIGHT ) ) { ransu = 1; } if ( ButtonDown(0, BTN_LEFT ) ) { ransu = 0; } break; case 4 if ( ButtonDown(0, BTN_RIGHT ) rate 15 ) { rate++; } if ( ButtonDown(0, BTN_LEFT ) rate 0 ) { rate--; } break; case 5 if ( ButtonDown(0, BTN_RIGHT ) time 31 ) { time++; } if ( ButtonDown(0, BTN_LEFT ) time 0 ) { time--; } break; } if ( ButtonPush(0, BTN_START) ) { flag = counter 5; flag = onkyo 4; flag |= volume; SetChannel(0x00); SetNoise(flag); DrawHexdecimal(12, 23, flag ); flag = ransu 7; flag |= rate; SetChannel(0x08); PlayNoise(flag,time); DrawHexdecimal(18, 23, flag ); } DrawNumMax(19, 3, counter, 1); DrawNumMax(19, 5, onkyo , 1); DrawNumMax(19, 7, volume ,15); DrawNumMax(19, 9, ransu , 1); DrawNumMax(19,11, rate ,15); DrawNumMax(19,13, time ,31); VBlank(); SendDMA(7); } void Title() { static char top; if (! init) { top = 0; ClearScreen(); SetChannel(0x00); DrawString( 5, 3,"SQUARE" , 6); DrawString( 5, 5,"TRIANGLE" , 8); DrawString( 5, 7,"NOISE" , 5); init = 1; } if ( ButtonPush(0, BTN_UP ) top 0) { top--; } if ( ButtonPush(0, BTN_DOWN) top 2) { top++; } DrawArrow(top); VBlank(); SendDMA(7); if ( ButtonPush(0, BTN_A ) || ButtonPush(0, BTN_START ) ) { init = 0; switch (top) { case 0 menu = menuSQUARE; break; case 1 menu = menuTRIANGLE; break; case 2 menu = menuNOISE; break; } } } // メイン処理 void NesMain() { const char palettebg[] = { 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30 }; const char palettesp[] = { 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30, 0x0f, 0x21, 0x30, 0x30 }; InitPPU(); SetPalette((char *)palettebg,0); SetPalette((char *)palettesp,1); SetPPU(0x08,0x1e); menu = menuTITLE; init = 0; while (1) { CheckPad(); if ( ButtonDown(0, BTN_START) ButtonPush(0, BTN_SELECT) ) { init = 0; menu = menuTITLE; } switch (menu) { case menuTITLE Title(); break; case menuSQUARE Square(); break; case menuTRIANGLE Triangle(); break; case menuNOISE Noise(); break; } } } //NMI割り込み void NMIProc(void){}
https://w.atwiki.jp/libre/pages/23.html
いつもこれ聞きながらやってます。 これ聞きながらAVAするとAIMあがりました! ちょっとこの曲いいから聞いてみな!って動画を紹介してこ! 寝落ち用(´ぅω・`)